#include "recursion.hpp"
#include "tools.hpp"
#include <cstdio>
#include <stack>
#include <vector>

inline void print_stack(std::stack<int>& stack)
{
    if (stack.empty()) return;
    int top = stack.top();
    stack.pop();
    std::printf("%d, ", top);
    print_stack(stack);
    stack.push(top);
}

int main()
{
    auto& ansi = lxj::OpenANSI::instance();
    ansi.set_mode(1).set_color(76);
    lxj::Time time;
    auto&     random = lxj::Random<int>::instance();

    std::vector<int> A{3, 2, 1};
    std::vector<int> B, C;
    lxj::hanota(A, B, C);

    std::puts("");
    return 0;
}